【Linux基础】CentOS 7环境下安装高版本GCC (gcc/g++ 9.3) |
您所在的位置:网站首页 › glibc-devel 如何升级 › 【Linux基础】CentOS 7环境下安装高版本GCC (gcc/g++ 9.3) |
CentOS 7升级GCC
正文开始@Assassin
目录:
CentOS 7升级GCC基本执行步骤:1. 切换用户:2. 安装centos-release-scl:3. 安装devtoolset:4. 激活对应的devtoolset:5. 查看gcc版本号:6. 一些issue:
我们在centos下默认的gcc版本是gcc4.8.5,版本比较低,默认是支持编译c++98的,若在C++程序中直接使用到c++11的特性,则会报错。 解决方案: 在编译时加上-std=c++11即可,如g++ test.cpp -o run -std=c++11 在bash下直接下载 : yum install -y gcc gcc-c++
输入以下命令行切换到root用户,此时需要输入你对应的root密码 su - root如下图所示: 这里需要注意一下,如果想安装7.版本的,就改成devtoolset-7-gcc,以此类推 sudo yum install devtoolset-9-gcc-c++按理来说你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本 scl enable devtoolset-9 bash此条命令行也同样适用 source /opt/rh/devtoolset-9/enable 5. 查看gcc版本号: gcc --version注意:这条scl enable devtoolset-9 bash激活命令只对本次会话有效,重启会话或者切换用户后还是会变回原来的4.8.5版本,因为安装的devtoolset是在/opt/rh目录下的,如图所示: 所以要想切换到某个版本,只需要执行: source /opt/rh/devtoolset-*/enable可以将对应版本的切换命令写个shell脚本放在配置了环境变量的目录下,需要时随时切换,或者开机自启。但是经过我自己的实践,不推荐上述方法。 最直截了当的方法是直接替换旧版本的gcc 旧版本gcc运行的在/usr/bin/gcc,所以将该目录下的gcc/g++替换为安装的新版本gcc软连接,省去了每次都要enable,简洁明了 依次执行以下命令: mv /usr/bin/gcc /usr/bin/gcc-4.8.5 ln -s /opt/rh/devtoolset-9/root/bin/gcc /usr/bin/gcc现在就算是永久性地启动指定版本的gcc,这种方式适用于长期使用该版本进行编译,切换bash依然有效 切换到Assassin用户查看一下: [root@Ninghai ~]# su - Assassin Last login: Fri Nov 26 22:20:43 CST 2021 from 182.118.236.53 on pts/1 [Assassin@Ninghai ~]$ g++ --version g++ (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2) Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |